<?php
/**
 * Flea Site
 *
 * @copyright  Copyright (c) 2008 Movoin Studio (http://movoin.com)
 * @license    Apache License 2.0
 * @version    $Id: Common.php 138 2009-05-25 06:42:38Z movoin $
 */

/**
 * 合成分类函数
 * 将所有分类，合成为树状分类形式，子分类键值为"child"
 *
 */
function composeCategories($categories) {
    if($categories) {
        $parent = findCategories($categories, 0);
        foreach($parent as $key=>$child) {
            $parent[$key]['child'] = findCategories($categories, $child['cate_id']);
        }
    }
    return $parent;
}

/**
 * 查找指定父ID的所有分类
 *
 */
function findCategories($categories, $parent_id)
{
    if($categories) {
        foreach($categories as $category) {
            if($category['parent_id'] == $parent_id) {
                $return[] = $category;
            }
        }
    }
    return $return;
}

/**
 * 查找指定ID的分类
 *
 */
function findCategory($categories, $cate_id)
{
    if($categories) {
        foreach($categories as $category) {
            if($category['cate_id'] == $cate_id) {
                $return = $category;
            }
        }
    }
    return $return;
}

/**
 * 获取图片
 *
 * @param array $attach
 * @param string $type : main|主图 thumb|缩略图
 * @param bool $return
 *
 * @return string
 */
function getImg($attach, $type, $return=false) {
    if($attach) {
        foreach($attach as $att) {
            if(!$type) { return '<img src="/' . $att['filepath'] . '" />'; }
            if($type==$att['name']) {
                if($return) { return $att['filepath']; }
                return '<img src="/' . $att['filepath'] . '" />';
            }
        }
    }
    return 'null';
}

/**
 * 获取选项内容
 *
 * @param serialize data $opts
 * @param string $key
 * @return mixed
 */
function getOption($opts, $key) {
    $options = unserialize($opts);
    if($opts[$key])
        return $options[$key];
    return null;
}

/**
 * 取出数据表中的所有不存在的键值，可以用于Table类的Create事件和Update事件
 *
 * @param array $meta
 * @return array
 */
function _getMeta(& $meta, $row) {
    $data = $row;
    foreach ( $meta as $m ) {
        if($data[$m['name']])
            unset($data[$m['name']]);
    }
    return $data;
}

/**
 * 使用Avatars管理用户头像
 *
 */
function getAvatars($email, $size=50) {
    return 'http://www.gravatar.com/avatar/' . md5($email) . '?s=' . $size . '&d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&r=G';
}
